1. Field of the Invention
The present invention relates to the data extraction from optical discs. More specifically, to a method of increasing data extraction compatibility for an optical disc drive.
2. Description of the Related Art
With the progress of computer hardware related technology and the popularization of optical disc drives, the utilization of optical discs has become part of daily life. Thus, optical disc variety has increased dramatically, such as CD-ROM, CD-R, CD-RW, DVD-R, and DVD-RW. The present optical disc drives mainly utilizes different data extraction mechanisms to extract data from optical discs with different formats. However, optical discs of different manufacturing processes may issue different optical signals when an optical disc drive extracts data therefrom, irrespective of whether the recorded data is in the same format. For example, optical discs manufactured with different dyes or different reflective materials may issue different optical signals when read. As a result, the optical disc drive may have a poor data extraction compatibility for certain optical discs, in some cases even fail to extract data from the optical discs.
Conventionally, due to the limitation of the width of data tracks and the distance between data tracks, optical disc drives have to apply tracking servo systems to locate the optical pick up head on certain data track in an optical disc when execute data extraction. The optical pick up head usually fails to extract data from data tracks and causes data extraction errors because of the difference of discs, such as quality, material, or signal decay of discs. Some data extraction errors can be corrected by error correction operations, while some others cannot. When the error correction operations cannot fix the data extraction errors, the optical disc drives may retry or lower data extraction speed to extract data or obtain better signal quality.
FIG. 1 is a flowchart of retry operations implemented by conventional optical disc drives. After sending a data extraction request to an optical disc drive, a host waits for the optical disc drive to send back the requested data within a predetermined time period. If the optical disc drive fails to send back the requested data within the predetermined time period, it will send an extraction failure notice to the host. If the host does not receive the extraction failure notice, the host considers the optical disc drive as ineffective. Under certain conditions, the host may halt because the optical disc drive does not return an extraction failure notice. However, if the extraction is assessed as failed, the host can sends data extraction request again to the optical disc drive for data extraction.
In Step 100 the retry count value is set to 0, and time count starts.
In Step 101 the retry count value is increased by 1 if a data extraction error occurs.
In Step 102, if the retry count value is less than a predetermined value, the process proceeds to Step 103, otherwise the process proceeds to Step 108.
In Step 103 the data extraction is retried.
In Step 104, the data extraction is determined as successful or not. If the data extraction is determined as successful, the process proceeds to Step 105, otherwise the process proceeds to Step 106.
In Step 105 the data extraction is successful and the requested data is returned. The retry count value is reset to 0.
In Step 106, the used data extraction time is determined if it is less than a predetermined time period. If the used data extraction time is determined less than the predetermined time period, the process proceeds to Step 101, otherwise the process proceeds to Step 107.
In Step 107 the data extraction operation is assessed as failed.
In Step 108 the data extraction speed of the optical disc drive is lowered and the retry count value is reset to 0.
When an optical disc drive receives a data extraction request from a host and starts to extract data from a CD, the optical disc drive sets the retry count value to 0 and time count is begun (Step 100). When a data extraction error occurs, the retry count value is increased by 1 (Step 101). If the retry count value is more than a predetermined value, the data extraction speed of the optical disc drive is lowered and the retry count value is initialized to 0 (Step 108). The data extraction is then retried (Step 103). If the retry count value is not more than the predetermined value, the data extraction is retried directly (Step 103). Afterwards, the data extraction is determined as successful or not (Step 104). If the data extraction is determined as successful, the extracted data is returned to the host (Step 105). Otherwise, the used data extraction time is determined if it is less than a predetermined time period (Step 106). If the used data extraction time is more then or equal to the predetermined time period, representing the data extraction failure (Step 107), otherwise the retry count value is increased by 1 (Step 101), and the described data extraction operations carry on.
Nevertheless, all optical disc drives accomplish test and adjustment by applying normal optical discs and establish data extraction parameters accordingly. Thus, if a data extraction error occurs, the optical disc drives only can utilize the established data extraction parameters for retrying. The mentioned conventional data extraction method is not compatible to optical discs with varying qualities, especially for some particular optical discs. Hence, there is a need for a more compatible data extraction method.